邮箱: zhihuiwanqi@163.com

影刀RPA实操:每天自动抓取MES生产日报,6个车间数据8分钟搞定

2026-07-27 09:39:58 6 DuMate智能助手 RPA 影刀 MES 生产日报 数据采集 制造业

工厂的MES网页每天下班前都要翻一遍,手动抄数据填Excel,抄完都过了饭点。

6个车间,每个车间200多条工单。你要做的是:打开浏览器 → 输入网址 → 登录MES → 点进生产日报 → 选中数据区域 → 复制 → 打开Excel → 粘贴 → 保存 → 再切到下一个车间。

一个车间10分钟,6个车间就是1小时。每天1小时,一个月20小时,相当于两天半的工作日全花在复制粘贴上。

更离谱的是,MES网页的表格不能导出,不能下载,不能API对接。你能做的只有肉眼盯着屏幕,手在键盘上重复

后来我直接用影刀RPA搭了一个MES数据采集机器人,每天早上8点自动执行,6个车间数据8分钟抓完,写入Excel直接发邮箱。

今天把搭建过程拆成6步,你跟着做,今天下午就能跑起来。

这个机器人能做什么?

简单来说,就是代替你每天登录MES、翻网页、抄数据

流程跑通后,每天早上8点自动执行:

  • 自动打开Chrome浏览器,进入MES系统登录页
  • 输入账号密码,点击登录,进入系统
  • 点击左侧菜单"生产日报",进入数据页面
  • 抓取当前车间表格中的工单号、产品名称、计划产量、实际产量、良品率、设备状态、异常记录
  • 判断是否有分页,自动翻页采集直到最后一页
  • 切换车间(顶部下拉菜单切换A车间、B车间……F车间),重复抓取
  • 所有数据写入Excel,按车间分Sheet保存
  • 保存文件,发送邮件给生产主管

全程不需要你动手,不需要会Python,不需要找IT对接API。

准备工作

开始前,先确认MES系统的可访问性:

  • MES网址:如 http://192.168.1.100/mes(内网地址)
  • 登录账号密码(建议用只读权限账号,安全)
  • 确认Chrome浏览器已安装影刀RPA插件
  • 新建一个Excel文件 MES生产日报.xlsx,提前建好表头

Excel表头建议:

详细搭建步骤

第1步:打开浏览器并输入MES网址

打开影刀RPA,新建空白流程。

从左侧"网页"组件库,拖入"打开网页"组件:

  • 操作方式:"启动Chrome"
  • 网址:http://192.168.1.100/mes(替换成你的MES地址)
  • 加载模式:"等待页面加载完成"

拖入后,在组件后加一个"等待"组件,设置3秒,确保登录页完全加载。

第2步:自动登录MES系统

登录页通常有账号框、密码框、登录按钮。影刀可以自动识别元素。

拖入"输入文本"组件:

  • 目标元素:点击"选择元素",在Chrome窗口中点击账号输入框,影刀自动记录元素定位
  • 输入内容:你的账号

再拖一个"输入文本",定位密码框,输入密码。

再拖一个"点击元素",定位"登录"按钮。

加等待5秒,等登录完成进入系统首页。

安全提醒:账号密码直接写在流程里不安全。建议:

  • 方案A:用影刀变量存储密码,变量值单独维护
  • 方案B:在MES上申请一个只读权限的专用账号,数据权限最小化
  • 方案C:如果MES支持记住密码/自动登录,首次登录后勾选"记住我",后面流程省略登录步骤

第3步:进入生产日报页面

登录后,页面通常是系统首页或仪表盘。你需要找到生产日报的入口。

拖入"点击元素",定位左侧菜单中的"生产日报""日报查询"

加等待3秒,等页面加载。

如果MES系统有弹窗提示(如"今日数据已更新"),加一个"判断元素存在"组件:如果弹窗出现,点击关闭按钮,再继续。

第4步:提取表格数据

这是核心步骤。MES的生产日报通常是一个HTML表格,结构比较固定。

先观察表格结构:打开Chrome开发者工具(F12),找到表格的class或id。通常是 <table class="data-table"> 或者 <table id="productionDaily">

影刀有两种抓取方式:

方式A:按行抓取(推荐)

拖入"获取相似元素列表"组件:

  • 目标元素:在表格中点击任意一行,影刀自动识别为 tr 元素
  • 输出列表:命名为 行列表

然后拖入"ForEach项"循环:

  • 列表:选择 行列表
  • 当前项:当前行

循环内部,拖入"获取子元素文本"组件,依次提取每个单元格:

  • 工单号:当前行.td:nth-child(1)
  • 产品名称:当前行.td:nth-child(2)
  • 计划产量:当前行.td:nth-child(3) → 用"转换为数字"组件处理
  • 实际产量:当前行.td:nth-child(4) → 同样转数字
  • 良品率:当前行.td:nth-child(5) → 用"字符串替换"去掉"%",再转数字
  • 设备状态:当前行.td:nth-child(6)
  • 异常记录:当前行.td:nth-child(7) → 加"判断非空",空的话写"无异常"

把提取的7个字段组装成一个数据行,写入Excel。

方式B:按表格整体抓取

如果MES表格结构特别规范,也可以直接用"获取表格数据"组件,一次性抓取整个表格,输出为数据表对象,再按行写入Excel。这种方式更简单,但如果表格有合并单元格或复杂样式,可能解析出错。

第5步:翻页与切换车间

一个车间可能有多页数据。在流程中加入"判断元素存在"

  • 条件:下一页按钮 存在
  • 为真时:点击"下一页"按钮 → 加等待2秒 → 回到第4步重新抓取当前页
  • 为假时:说明当前车间已抓完,进入下一步

车间切换逻辑:

拖入"点击元素",定位顶部车间下拉菜单(如 select#workshop)。

拖入"选择下拉选项"组件:

  • 选项来源:"列表循环"
  • 选项列表:["A车间","B车间","C车间","D车间","E车间","F车间"]

每次切换车间后,加3秒等待,等页面刷新,然后回到第4步重新抓取。

如果MES的车间是左侧树形菜单而非下拉框,用"ForEach项"循环点击每个车间节点。

第6步:写入Excel并推送

数据抓取完成后,写入Excel。

拖入"打开Excel工作簿"

  • 文件路径:D:\日报数据\MES生产日报.xlsx
  • 输出:日报簿

每个车间对应一个Sheet。拖入"写入数据表"组件:

  • 工作簿:日报簿
  • 工作表:车间A(循环变量)
  • 起始单元格:A2
  • 数据表:当前车间数据

保存并关闭工作簿。

最后加一个"发送邮件"组件,把日报附件发给生产主管(SMTP设置同前一篇)。

调试排错

问题1:元素定位失败,提示"未找到元素"

原因:MES网页结构变化,或者表格是动态加载的(JavaScript渲染)。

解法:

  • 加等待时间:每个操作后等3-5秒,等JS渲染完成
  • 改用"等待元素出现"组件,设置最长等待15秒
  • 检查元素定位方式:如果是XPath,换成CSS选择器更稳定
  • 如果表格是iframe嵌套的,先切换到iframe再抓取

问题2:登录后页面跳转慢,流程卡在登录页

解法:在点击登录后,用"等待元素出现"判断"生产日报"菜单是否出现,出现后再继续,而不是固定等几秒。

问题3:良品率抓取后变成"99.5"而不是0.995

解法:加一个"字符串替换"组件,把"%"替换为空,再用"除以100"组件转成小数,再写入Excel。

问题4:异常记录字段为空时,Excel写入报错

解法:用"判断非空"组件,空的话赋默认值"无异常",再写入。

进阶技巧

1. 增量采集而非全量

每天全量抓取200条太慢。MES通常支持按日期筛选。在流程开头加"输入文本",在日期筛选框填入当天日期,只抓当天的数据。

2. 数据校验

写入Excel前,加一个"判断":如果良品率 > 100% 或 < 0%,标记为异常数据,单独存到"异常数据"Sheet,方便人工复核。

3. 多车间并行

影刀RPA支持多流程并行。如果6个车间独立采集,可以拆成6个子流程同时跑,总时间从8分钟降到2分钟。

4. 异常预警

在流程中加入判断:如果某个车间的良品率低于90%,或者异常记录中出现"停机",自动发送微信/钉钉告警。

和前两篇的区别

这个系列三篇文章各有侧重:

文章场景数据源核心难点
电商竞品采集公开网页电商平台商品列表翻页循环 + 反爬
Excel自动汇总本地文件多个Excel文件数据清洗 + 公式写入
MES生产日报内网系统MES网页表格元素定位 + 动态加载

总结

影刀RPA做MES数据采集的核心逻辑是:打开网页 → 登录系统 → 定位表格 → 按行提取 → 翻页/切换 → 写入Excel → 邮件推送

和Excel汇总那篇相比,这篇多了一个网页交互层:登录、导航、元素定位、等待渲染。这也是大多数企业内网系统的共性——有网页就能抓,不需要API接口。

搭建一次,每天省1小时。一个月省20小时。省下来的时间,用来做良品率分析、异常趋势预警、产能预测——这才是MES数据真正的价值。

让机器人做重复的事,你去做思考的事。

选择样式

选择布局
选择颜色
选择背景图案
选择背景图片